package com.xzwzz.kotlindemo.video

import com.xzwzz.kotlindemo.ImportNewVideoData

data class ExcelSourceBean(


        var juanming: String,
        var zhuanti: String,
        var shipin: String,
        var categoryTime: String,
        var mingcheng: String,
        var videoTIme: String,
        var videoSize: String,
        var testPoint: String,
        var teacher: String,
        var daibiao: String,
        var daibiaoDesc: String,
        var courseId: String,
        var juanTime: String,
        var juanDesc: String
) {
    constructor(list: List<String>) : this(
            list[0].replace("全考点普查专题", ""),
            list[1],
            list[2],
            list[3],
            list[4],
            list[5],
            list[6],
            list[7],
            list[8],
            list[9],
            list[10],
            list[11],
            list[13],
            list[14]
    )


    companion object {
        fun getHeaderTitle(): List<String> {
            return listOf(
                    "卷名(一级标题)", "专题、考题(二级标题)", "文件标识",
                    "专题时长", "视频显示名称", "视频时长",
                    "视频大小", "考点", "视频主讲老师",
                    "本卷主讲代表", "主讲代表简介", "板块ID",
                    "排序", "年份", "科目", "卷时长", "卷介绍"
            );
        }

        fun getCourseName(fileName: String): String {
            val regex = Regex("语文|数学|英语|政治|历史|地理|物理|化学|生物|理数|文数|科学")
            val result = regex.find(fileName)
            if (result == null) {
                return "未知"
            } else {
                return result.value
            }
        }

        fun getCourseName(fileName: String, sheetName: String): String {
            val regex = Regex("语文|数学|英语|政治|历史|地理|物理|化学|生物|理数|文数|科学")
            val result = regex.find(sheetName)
            if (result == null) {
                return getCourseName(fileName)
            } else {
                return result.value
            }
        }

        fun getRealVersion(course: String, banben: String): String {
            var defaultName = (course + banben).replace(Regex("[0-9]{0,}[(|（]{0,}[同]{0,1}[^\\x00-\\xff]{0,}[)|）]{0,}"), "")
            if (defaultName.isEmpty()) {
                defaultName = banben;
            }
            return defaultName
        }

        fun getCourseId(course: String, banben: String): String {
            var defaultName = getRealVersion(course, banben)
            for (key in ImportNewVideoData.versionMap.keys) {
                if (banben.contains(key)) {
                    return ImportNewVideoData.versionMap[key]!![course] ?: "未知";
                }
            }
            return "未知"
//            val result = when (course) {
//                "语文" -> {
//                    if (banben.contains("上海")) {
//                        "393"
//                    } else {
//                        "393"
//                    }
//                }
//                "数学" -> {
//                    if (banben.contains("上海")) {
//                        "390"
////                    } else if (banben.contains("全国")) {
////                        "411"
////                    } else if (banben.contains("北京")) {
////                        "361"
////                    } else if (banben.contains("浙江")) {
////                        "400"
//                    } else {
//                        "390"
//                    }
//                }
//                "英语" -> {
//                    if (banben.contains("全国")) {
//                        "778"
//                    } else if (banben.contains("浙江")) {
//                        "787"
//                    } else if (banben.contains("新高考")) {
//                        "797"
//                    }else{
//                        "797"
//                    }
//                }
//                "政治" -> {
//                    if (banben.contains("上海")) {
//                        "394"
//                    } else {
//                        "394"
//                    }
//                }
//                "历史" -> {
//                    if (banben.contains("上海")) {
//                        "472"
//                    } else if (banben.contains("山东")) {
//                        "463"
//                    } else if (banben.contains("北京")) {
//                        "454"
//                    } else if (banben.contains("江苏")) {
//                        "482"
//                    } else if (banben.contains("浙江")) {
//                        "492"
//                    }else if(banben.contains("全国")){
//                        "443"
//                    } else{
//                        "未知"
//                    }
//                }
//                "地理" -> {
//                    if (banben.contains("上海")) {
//                        "473"
//                    } else if (banben.contains("山东")) {
//                        "464"
//                    } else if (banben.contains("北京")) {
//                        "455"
//                    } else if (banben.contains("江苏")) {
//                        "483"
//                    } else if (banben.contains("浙江")) {
//                        "493"
//                    }else if(banben.contains("全国")){
//                        "444"
//                    } else{
//                        "未知"
//                    }
//                }
//
//                "物理" -> {
//                    if (banben.contains("上海")) {
//                        "391"
//                    } else {
//                        "391"
//                    }
//                }
//                "化学" -> {
//                    if (banben.contains("上海")) {
//                        "395"
//                    } else {
//                        "395"
//                    }
//                }
//                "生物" -> {
//                    if (banben.contains("上海")) {
//                        "389"
//                    } else {
//                        "389"
//                    }
//                }
//                "科学" -> {
//                    if (banben.contains("上海")) {
//                        "413"
//                    } else {
//                        "413"
//                    }
//                }
//                else -> defaultName
//            }
//            return result
        }
    }
}